/**
 *  Copyright (C) 2024 FISCO BCOS.
 *  SPDX-License-Identifier: Apache-2.0
 *  Licensed under the Apache License, Version 2.0 (the "License");
 *  you may not use this file except in compliance with the License.
 *  You may obtain a copy of the License at
 *
 *   http://www.apache.org/licenses/LICENSE-2.0
 *
 *  Unless required by applicable law or agreed to in writing, software
 *  distributed under the License is distributed on an "AS IS" BASIS,
 *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *  See the License for the specific language governing permissions and
 *  limitations under the License.
 *
 * @file BloomTest.cpp
 * @author: kyonGuo
 * @date 2024/4/29
 */


#include "bcos-utilities/Bloom.h"
#include "bcos-framework/protocol/LogEntry.h"
#include "bcos-utilities/testutils/TestPromptFixture.h"
#include <string_view>

using namespace bcos;
using namespace std::literals;
using namespace std::string_view_literals;

namespace bcos::test
{

struct BloomFixture
{
};

BOOST_FIXTURE_TEST_SUITE(testBloom, BloomFixture)
BOOST_AUTO_TEST_CASE(testLogsToBloom)
{
    // case silkworm
    {
        std::vector<protocol::LogEntry> logs;
        logs.emplace_back(0x22341ae42d6dd7384bc8584e50419ea3ac75b83f_bytes,
            h256s{0x04491edcd115127caedbd478e2e7895ed80c7847e903431f94f9cfa579cad47f_hash},
            bytes{});
        logs.emplace_back(0xe7fb22dfef11920312e4989a3a2b81e2ebf05986_bytes,
            h256s{
                0x7f1fef85c4b037150d3675218e0cdb7cf38fea354759471e309f3354918a442f_hash,
                0xd85629c7eaae9ea4a10234fed31bc0aeda29b2683ebe0c1882499d272621f6b6_hash,
            },
            0x2d690516512020171c1ec870f6ff45398cc8609250326be89915fb538e7b_bytes);
        auto const bloom = getLogsBloom(logs);
        auto const bloomHex = toHex(bloom);
        // clang-format off
        auto constexpr expected = "00000000000000000081000000000000000000000000000000000002000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000028000000000040000080000000400000000000000000000000000000000000000000000000000000000000000000000010000010000000000000000000000000000000001400000000000000008000000000000000000000000000000000"sv;
        // clang-format on
        BOOST_CHECK_EQUAL(bloomHex, expected);
    }
    // case hardhat
    {
        std::vector<protocol::LogEntry> logs{};
        logs.emplace_back(0x5fbdb2315678afecb367f032d93f642f64180aa3_bytes,
            h256s{
                0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0_hash,
                0x0000000000000000000000000000000000000000000000000000000000000000_hash,
                0x000000000000000000000000f39fd6e51aad88f6f4ce6ab8827279cfffb92266_hash,
            },
            bytes{});
        // clang-format off
        auto constexpr expected = "00000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000040020000000000000100000800000000000000000000000000000000400000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000040000000200000000000000000000000002000000000000000000020000000000000000000000000000000000000000000000000000000000000000000"sv;
        // clang-format on
        auto const bloom = getLogsBloom(logs);
        auto const bloomHex = toHex(bloom);
        BOOST_CHECK_EQUAL(bloomHex, expected);
    }
    // block bloom
    // https://sepolia.etherscan.io/block/8725450
    {
        std::vector<protocol::LogEntry> logs;
        // clang-format off
        logs.emplace_back(0xb816bb88f836ea75ca4071b46ff285f690c43bb7_bytes, h256s{0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef_hash, 0x0000000000000000000000005c391f74fe4a61069c4cc85019aaf1062f126f42_hash, 0x0000000000000000000000009ae18109692b43e95ae6be5350a5acc5211fe9a1_hash}, 0x0000000000000000000000000000000000000000000000c2812cdcbfe1b05612_bytes);
        logs.emplace_back(0x9e8ff356d35a2da385c546d6bf1d77ff85133365_bytes, h256s{0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef_hash, 0x0000000000000000000000009ae18109692b43e95ae6be5350a5acc5211fe9a1_hash, 0x0000000000000000000000005c391f74fe4a61069c4cc85019aaf1062f126f42_hash}, 0x00000000000000000000000000000000000000000000000000000000753dd49e_bytes);
        logs.emplace_back(0x9ae18109692b43e95ae6be5350a5acc5211fe9a1_bytes, h256s{0x1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1_hash}, 0x0000000000000000000000000000000000000000000000000000d286f3e6272c0000000000000000000000000000000000000000015c38a9e277594cb62cd78d_bytes);
        logs.emplace_back(0x9ae18109692b43e95ae6be5350a5acc5211fe9a1_bytes, h256s{0xd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822_hash, 0x000000000000000000000000ee567fe1712faf6149d80da1e6934e354124cfe3_hash, 0x0000000000000000000000005c391f74fe4a61069c4cc85019aaf1062f126f42_hash}, 0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c2812cdcbfe1b0561200000000000000000000000000000000000000000000000000000000753dd49e0000000000000000000000000000000000000000000000000000000000000000_bytes);
        logs.emplace_back(0xb816bb88f836ea75ca4071b46ff285f690c43bb7_bytes, h256s{0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef_hash, 0x0000000000000000000000009e21f6002afcb7b3c717f12580cf4c8c9e3bb6ce_hash, 0x0000000000000000000000009ae18109692b43e95ae6be5350a5acc5211fe9a1_hash}, 0x00000000000000000000000000000000000000000000000425a980dc056a0000_bytes);
        logs.emplace_back(0x9e8ff356d35a2da385c546d6bf1d77ff85133365_bytes, h256s{0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef_hash, 0x0000000000000000000000009ae18109692b43e95ae6be5350a5acc5211fe9a1_hash, 0x0000000000000000000000009e21f6002afcb7b3c717f12580cf4c8c9e3bb6ce_hash}, 0x00000000000000000000000000000000000000000000000000000000027feeb6_bytes);
        logs.emplace_back(0x9ae18109692b43e95ae6be5350a5acc5211fe9a1_bytes, h256s{0x1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1_hash}, 0x0000000000000000000000000000000000000000000000000000d286f16638760000000000000000000000000000000000000000015c38ae0820da28bb96d78d_bytes);
        logs.emplace_back(0x9ae18109692b43e95ae6be5350a5acc5211fe9a1_bytes, h256s{0xd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822_hash, 0x000000000000000000000000ee567fe1712faf6149d80da1e6934e354124cfe3_hash, 0x0000000000000000000000009e21f6002afcb7b3c717f12580cf4c8c9e3bb6ce_hash}, 0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000425a980dc056a000000000000000000000000000000000000000000000000000000000000027feeb60000000000000000000000000000000000000000000000000000000000000000_bytes);
        logs.emplace_back(0xb816bb88f836ea75ca4071b46ff285f690c43bb7_bytes, h256s{0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef_hash, 0x0000000000000000000000007f1592221a6a63f292e304a75ba5e2d0be36b81c_hash, 0x0000000000000000000000009ae18109692b43e95ae6be5350a5acc5211fe9a1_hash}, 0x0000000000000000000000000000000000000000000000074d64d0f188118000_bytes);
        logs.emplace_back(0x9e8ff356d35a2da385c546d6bf1d77ff85133365_bytes, h256s{0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef_hash, 0x0000000000000000000000009ae18109692b43e95ae6be5350a5acc5211fe9a1_hash, 0x0000000000000000000000007f1592221a6a63f292e304a75ba5e2d0be36b81c_hash}, 0x000000000000000000000000000000000000000000000000000000000466cdd7_bytes);
        logs.emplace_back(0x9ae18109692b43e95ae6be5350a5acc5211fe9a1_bytes, h256s{0x1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1_hash}, 0x0000000000000000000000000000000000000000000000000000d286ecff6a9f0000000000000000000000000000000000000000015c38b55585ab1a43a8578d_bytes);
        logs.emplace_back(0x9ae18109692b43e95ae6be5350a5acc5211fe9a1_bytes, h256s{0xd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822_hash, 0x000000000000000000000000ee567fe1712faf6149d80da1e6934e354124cfe3_hash, 0x0000000000000000000000007f1592221a6a63f292e304a75ba5e2d0be36b81c_hash}, 0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000074d64d0f188118000000000000000000000000000000000000000000000000000000000000466cdd70000000000000000000000000000000000000000000000000000000000000000_bytes);
        logs.emplace_back(0xb816bb88f836ea75ca4071b46ff285f690c43bb7_bytes, h256s{0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef_hash, 0x0000000000000000000000005d419946e4d99171e3ee4995421fabdacb05950d_hash, 0x0000000000000000000000009ae18109692b43e95ae6be5350a5acc5211fe9a1_hash}, 0x00000000000000000000000000000000000000000000000c6a7151cd8d1e0000_bytes);
        logs.emplace_back(0x9e8ff356d35a2da385c546d6bf1d77ff85133365_bytes, h256s{0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef_hash, 0x0000000000000000000000009ae18109692b43e95ae6be5350a5acc5211fe9a1_hash, 0x0000000000000000000000005d419946e4d99171e3ee4995421fabdacb05950d_hash}, 0x00000000000000000000000000000000000000000000000000000000077bd9b9_bytes);
        logs.emplace_back(0x9ae18109692b43e95ae6be5350a5acc5211fe9a1_bytes, h256s{0x1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1_hash}, 0x0000000000000000000000000000000000000000000000000000d286e58390e60000000000000000000000000000000000000000015c38c1bff6fce7d0c6578d_bytes);
        logs.emplace_back(0x9ae18109692b43e95ae6be5350a5acc5211fe9a1_bytes, h256s{0xd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822_hash, 0x000000000000000000000000ee567fe1712faf6149d80da1e6934e354124cfe3_hash, 0x0000000000000000000000005d419946e4d99171e3ee4995421fabdacb05950d_hash}, 0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c6a7151cd8d1e000000000000000000000000000000000000000000000000000000000000077bd9b90000000000000000000000000000000000000000000000000000000000000000_bytes);
        logs.emplace_back(0xb816bb88f836ea75ca4071b46ff285f690c43bb7_bytes, h256s{0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef_hash, 0x0000000000000000000000003cef32671a229d9d45802d5296528fc352a70956_hash, 0x0000000000000000000000009ae18109692b43e95ae6be5350a5acc5211fe9a1_hash}, 0x00000000000000000000000000000000000000000000000402cd4805f7644000_bytes);
        logs.emplace_back(0x9e8ff356d35a2da385c546d6bf1d77ff85133365_bytes, h256s{0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef_hash, 0x0000000000000000000000009ae18109692b43e95ae6be5350a5acc5211fe9a1_hash, 0x0000000000000000000000003cef32671a229d9d45802d5296528fc352a70956_hash}, 0x00000000000000000000000000000000000000000000000000000000026aeb2d_bytes);
        logs.emplace_back(0x9ae18109692b43e95ae6be5350a5acc5211fe9a1_bytes, h256s{0x1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1_hash}, 0x0000000000000000000000000000000000000000000000000000d286e318a5b90000000000000000000000000000000000000000015c38c5c2c444edc82a978d_bytes);
        logs.emplace_back(0x9ae18109692b43e95ae6be5350a5acc5211fe9a1_bytes, h256s{0xd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822_hash, 0x000000000000000000000000ee567fe1712faf6149d80da1e6934e354124cfe3_hash, 0x0000000000000000000000003cef32671a229d9d45802d5296528fc352a70956_hash}, 0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000402cd4805f764400000000000000000000000000000000000000000000000000000000000026aeb2d0000000000000000000000000000000000000000000000000000000000000000_bytes);
        logs.emplace_back(0xb816bb88f836ea75ca4071b46ff285f690c43bb7_bytes, h256s{0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef_hash, 0x000000000000000000000000a7b33f9312f5d2ab07a1c4cfa58d9cf7a4c91830_hash, 0x0000000000000000000000009ae18109692b43e95ae6be5350a5acc5211fe9a1_hash}, 0x00000000000000000000000000000000000000000000000859b53986f3198000_bytes);
        logs.emplace_back(0x9e8ff356d35a2da385c546d6bf1d77ff85133365_bytes, h256s{0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef_hash, 0x0000000000000000000000009ae18109692b43e95ae6be5350a5acc5211fe9a1_hash, 0x000000000000000000000000a7b33f9312f5d2ab07a1c4cfa58d9cf7a4c91830_hash}, 0x0000000000000000000000000000000000000000000000000000000005088812_bytes);
        logs.emplace_back(0x9ae18109692b43e95ae6be5350a5acc5211fe9a1_bytes, h256s{0x1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1_hash}, 0x0000000000000000000000000000000000000000000000000000d286de101da70000000000000000000000000000000000000000015c38ce1c797e74bb44178d_bytes);
        logs.emplace_back(0x9ae18109692b43e95ae6be5350a5acc5211fe9a1_bytes, h256s{0xd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822_hash, 0x000000000000000000000000ee567fe1712faf6149d80da1e6934e354124cfe3_hash, 0x000000000000000000000000a7b33f9312f5d2ab07a1c4cfa58d9cf7a4c91830_hash}, 0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000859b53986f319800000000000000000000000000000000000000000000000000000000000050888120000000000000000000000000000000000000000000000000000000000000000_bytes);
        logs.emplace_back(0xb816bb88f836ea75ca4071b46ff285f690c43bb7_bytes, h256s{0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef_hash, 0x000000000000000000000000d2ed214646b2a360f2b475a3c4de712f4cbe62e6_hash, 0x0000000000000000000000009ae18109692b43e95ae6be5350a5acc5211fe9a1_hash}, 0x0000000000000000000000000000000000000000000000059539fbe7de054000_bytes);
        logs.emplace_back(0x9e8ff356d35a2da385c546d6bf1d77ff85133365_bytes, h256s{0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef_hash, 0x0000000000000000000000009ae18109692b43e95ae6be5350a5acc5211fe9a1_hash, 0x000000000000000000000000d2ed214646b2a360f2b475a3c4de712f4cbe62e6_hash}, 0x00000000000000000000000000000000000000000000000000000000035d7c09_bytes);
        logs.emplace_back(0x9ae18109692b43e95ae6be5350a5acc5211fe9a1_bytes, h256s{0x1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1_hash}, 0x0000000000000000000000000000000000000000000000000000d286dab2a19e0000000000000000000000000000000000000000015c38d3b1b37a5c9949578d_bytes);
        logs.emplace_back(0x9ae18109692b43e95ae6be5350a5acc5211fe9a1_bytes, h256s{0xd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822_hash, 0x000000000000000000000000ee567fe1712faf6149d80da1e6934e354124cfe3_hash, 0x000000000000000000000000d2ed214646b2a360f2b475a3c4de712f4cbe62e6_hash}, 0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000059539fbe7de05400000000000000000000000000000000000000000000000000000000000035d7c090000000000000000000000000000000000000000000000000000000000000000_bytes);
        logs.emplace_back(0xb816bb88f836ea75ca4071b46ff285f690c43bb7_bytes, h256s{0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef_hash, 0x000000000000000000000000d9c7be4b5fe730f9faa1cd53553f8470c9a5baef_hash, 0x0000000000000000000000009ae18109692b43e95ae6be5350a5acc5211fe9a1_hash}, 0x000000000000000000000000000000000000000000000007510975693436c000_bytes);
        logs.emplace_back(0x9e8ff356d35a2da385c546d6bf1d77ff85133365_bytes, h256s{0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef_hash, 0x0000000000000000000000009ae18109692b43e95ae6be5350a5acc5211fe9a1_hash, 0x000000000000000000000000d9c7be4b5fe730f9faa1cd53553f8470c9a5baef_hash}, 0x000000000000000000000000000000000000000000000000000000000468ff0d_bytes);
        logs.emplace_back(0x9ae18109692b43e95ae6be5350a5acc5211fe9a1_bytes, h256s{0x1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1_hash}, 0x0000000000000000000000000000000000000000000000000000d286d649a2910000000000000000000000000000000000000000015c38db02bcefc5cd80178d_bytes);
        logs.emplace_back(0x9ae18109692b43e95ae6be5350a5acc5211fe9a1_bytes, h256s{0xd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822_hash, 0x000000000000000000000000ee567fe1712faf6149d80da1e6934e354124cfe3_hash, 0x000000000000000000000000d9c7be4b5fe730f9faa1cd53553f8470c9a5baef_hash}, 0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007510975693436c000000000000000000000000000000000000000000000000000000000000468ff0d0000000000000000000000000000000000000000000000000000000000000000_bytes);
        logs.emplace_back(0x9e8ff356d35a2da385c546d6bf1d77ff85133365_bytes, h256s{0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef_hash, 0x0000000000000000000000006d754a25a1879f29d95505eace461689ad179570_hash, 0x0000000000000000000000009ae18109692b43e95ae6be5350a5acc5211fe9a1_hash}, 0x0000000000000000000000000000000000000000000000000000000000aa684a_bytes);
        logs.emplace_back(0xb816bb88f836ea75ca4071b46ff285f690c43bb7_bytes, h256s{0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef_hash, 0x0000000000000000000000006d754a25a1879f29d95505eace461689ad179570_hash, 0x0000000000000000000000009ae18109692b43e95ae6be5350a5acc5211fe9a1_hash}, 0x00000000000000000000000000000000000000000000000119dcd623e8fb89e5_bytes);
        logs.emplace_back(0x9ae18109692b43e95ae6be5350a5acc5211fe9a1_bytes, h256s{0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef_hash, 0x0000000000000000000000000000000000000000000000000000000000000000_hash, 0x0000000000000000000000006d754a25a1879f29d95505eace461689ad179570_hash}, 0x00000000000000000000000000000000000000000000000000000d8a90679c86_bytes);
        logs.emplace_back(0x9ae18109692b43e95ae6be5350a5acc5211fe9a1_bytes, h256s{0x1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1_hash}, 0x0000000000000000000000000000000000000000000000000000d286d6f40adb0000000000000000000000000000000000000000015c38dc1c99c5e9b67ba172_bytes);
        logs.emplace_back(0x9ae18109692b43e95ae6be5350a5acc5211fe9a1_bytes, h256s{0x4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f_hash, 0x000000000000000000000000ee567fe1712faf6149d80da1e6934e354124cfe3_hash}, 0x0000000000000000000000000000000000000000000000000000000000aa684a00000000000000000000000000000000000000000000000119dcd623e8fb89e5_bytes);
        logs.emplace_back(0x9e8ff356d35a2da385c546d6bf1d77ff85133365_bytes, h256s{0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef_hash, 0x0000000000000000000000004bc3561cac3b8d9d41f1bf252bbc7403870b095d_hash, 0x0000000000000000000000009ae18109692b43e95ae6be5350a5acc5211fe9a1_hash}, 0x000000000000000000000000000000000000000000000000000000000ae5d229_bytes);
        logs.emplace_back(0xb816bb88f836ea75ca4071b46ff285f690c43bb7_bytes, h256s{0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef_hash, 0x0000000000000000000000009ae18109692b43e95ae6be5350a5acc5211fe9a1_hash, 0x0000000000000000000000004bc3561cac3b8d9d41f1bf252bbc7403870b095d_hash}, 0x000000000000000000000000000000000000000000000011f8a94f2fdc7e6dd2_bytes);
        logs.emplace_back(0x9ae18109692b43e95ae6be5350a5acc5211fe9a1_bytes, h256s{0x1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1_hash}, 0x0000000000000000000000000000000000000000000000000000d286e1d9dd040000000000000000000000000000000000000000015c38ca23f076b9d9fd33a0_bytes);
        logs.emplace_back(0x9ae18109692b43e95ae6be5350a5acc5211fe9a1_bytes, h256s{0xd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822_hash, 0x000000000000000000000000ee567fe1712faf6149d80da1e6934e354124cfe3_hash, 0x0000000000000000000000004bc3561cac3b8d9d41f1bf252bbc7403870b095d_hash}, 0x000000000000000000000000000000000000000000000000000000000ae5d22900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011f8a94f2fdc7e6dd2_bytes);
        logs.emplace_back(0x8bebfcbe5468f146533c182df3dfbf5ff9be00e2_bytes, h256s{0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925_hash, 0x000000000000000000000000b59cb7b40e61201674078caa5f65ef54519346cb_hash, 0x0000000000000000000000009e8ff356d35a2da385c546d6bf1d77ff85133365_hash}, 0x00000000000000000000000000000000000000000000000000000000000186a0_bytes);
        logs.emplace_back(0x7b79995e5f793a07bc00c21412e50ecae098e7f9_bytes, h256s{0xe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c_hash, 0x0000000000000000000000005fbe74a283f7954f10aa04c2edf55578811aeb03_hash}, 0x00000000000000000000000000000000000000000000000000005af3107a4000_bytes);
        logs.emplace_back(0x7b79995e5f793a07bc00c21412e50ecae098e7f9_bytes, h256s{0xe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c_hash, 0x0000000000000000000000005fbe74a283f7954f10aa04c2edf55578811aeb03_hash}, 0x000000000000000000000000000000000000000000000000000000116ad29697_bytes);
        logs.emplace_back(0xee4ea8d358473f0fcebf0329feed95d56e8c04d7_bytes, h256s{0x635b5d234fe7abddfb29b6c8498780a3175c9002c537f20a3d1bf9d0e625b5fe_hash, 0x0000000000000000000000000000000000000000000000000000000000000007_hash, 0x3161f453232511db42c7f06cdec32a412ae0d335c9c06d234d410f5181423238_hash}, 0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001851766ecdcbcfc00000000000000000000000000000000000000000000000000000000000000860f5fe841c3d943e2a05589f0bce37ef11511dceb63f05a608c1c6ff8e555c362f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001e000000000000000000000000000000000000000000000000000005af3107a4000000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000002600000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000005af3107a40000000000000000000000000000000000000000000000000000000000000000014314eb74f3f833d8272487e6a10abc5ca40a9e200000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a62626e316338616d75366e713832707664307a66777232636e7668687679393932793872777667616765000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0000000000000000000000000000000000000000000000000000000000000000000000000000000000000003455448000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054574686572000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003e62626e313837656178666171656d67336e7466656e356a6b73656c77706b367636357a353438393266327070746c78356733703971736d73633967683463000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000116ad29697000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000002600000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014314eb74f3f833d8272487e6a10abc5ca40a9e200000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a62626e316338616d75366e713832707664307a66777232636e7668687679393932793872777667616765000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0000000000000000000000000000000000000000000000000000000000000000000000000000000000000003455448000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054574686572000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003e62626e313837656178666171656d67336e7466656e356a6b73656c77706b367636357a353438393266327070746c78356733703971736d736339676834630000_bytes);
        logs.emplace_back(0xcdfdd7dd24babdd05a2ff4dfcf06384c5ad661a9_bytes, h256s{0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925_hash, 0x000000000000000000000000cc75e74255725a5d54b823c295a84a1493207741_hash, 0x000000000000000000000000ee567fe1712faf6149d80da1e6934e354124cfe3_hash}, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff_bytes);
        logs.emplace_back(0x7b79995e5f793a07bc00c21412e50ecae098e7f9_bytes, h256s{0xe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c_hash, 0x0000000000000000000000005fbe74a283f7954f10aa04c2edf55578811aeb03_hash}, 0x00000000000000000000000000000000000000000000000000000002540be400_bytes);
        logs.emplace_back(0xee4ea8d358473f0fcebf0329feed95d56e8c04d7_bytes, h256s{0x635b5d234fe7abddfb29b6c8498780a3175c9002c537f20a3d1bf9d0e625b5fe_hash, 0x0000000000000000000000000000000000000000000000000000000000000007_hash, 0x59294137d7cbaf6973dc83e6e11f733795ffe524de32664315205a448c7e1dd2_hash}, 0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001850d949ef753c0000000000000000000000000000000000000000000000000000000000000004c0578b3a6f534df4b3f23c782f64af70cda89aa5c96f77db8baa416c342e2245850000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000003e000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001e000000000000000000000000000000000000000000000000000000002540be400000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000002600000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000000002540be4000000000000000000000000000000000000000000000000000000000000000014212e9d0708b4b61b3a2c697aecd95df56041a288000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a62626e3161736c6e3937663475666575717733687633397a6e76306c37306c6c66397634707a72686d36000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0000000000000000000000000000000000000000000000000000000000000000000000000000000000000003455448000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054574686572000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003e62626e313837656178666171656d67336e7466656e356a6b73656c77706b367636357a353438393266327070746c78356733703971736d736339676834630000_bytes);
        logs.emplace_back(0x15c0bda2f32ba4d3af81eb8e85decfb6331ceb55_bytes, h256s{0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925_hash, 0x00000000000000000000000078f6c2458b53d0735208992c693bb2b2dafebb52_hash, 0x000000000000000000000000f99d699a142a304a560600b7d03331b94f0b8b83_hash}, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff_bytes);
        logs.emplace_back(0x1178bdbabec926a3c2fc4194c811a65753b01587_bytes, h256s{0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925_hash, 0x000000000000000000000000de1de01d879b610f682d66302334d4ed6038b1ef_hash, 0x0000000000000000000000007919d8bd3ca3dcd9f93c675355c0f8b8b7e704e5_hash}, 0x000000000000000000000000000000000000000000000000000000003b9aca00_bytes);
        logs.emplace_back(0x5b718e36f5ce2f2f7e25a397040436ce6af3e89e_bytes, h256s{0x13fc17fd71632266fe82092de6dd91a06b4fa68d8dc950492e5421cbed55a6a5_hash}, 0x000000000000000000000000000000000000000000000000000000000000e03c3711bbf32c40b0fb78ea1884bd476f7bf3a9da03fc7a31172bde9394d9c1a55500000000000000000000000000000000000000000000000002c68af0bb1400000000000000000000000000000000000000000000000000000b1a2bc2ec50000002e7cfd9e16076dd59c49007a53a0e40fdfad6e8c14c979eaa34ab44f212d6f30000000000000000000000000000000000000000000000000000000000000003_bytes);
        logs.emplace_back(0x5b718e36f5ce2f2f7e25a397040436ce6af3e89e_bytes, h256s{0x13fc17fd71632266fe82092de6dd91a06b4fa68d8dc950492e5421cbed55a6a5_hash}, 0x000000000000000000000000000000000000000000000000000000000000e03c097b3be6af660b6d9569c47f1f077ed419e5326f6ab4930c587b2f6a1cdada5500000000000000000000000000000000000000000000000002c68af0bb14000000000000000000000000000000000000000000000000000016345785d8a0000002e7cfd9e16076dd59c49007a53a0e40fdfad6e8c14c979eaa34ab44f212d6f30000000000000000000000000000000000000000000000000000000000000003_bytes);
        logs.emplace_back(0x7b79995e5f793a07bc00c21412e50ecae098e7f9_bytes, h256s{0xe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c_hash, 0x0000000000000000000000005fbe74a283f7954f10aa04c2edf55578811aeb03_hash}, 0x000000000000000000000000000000000000000000000000000000174876e800_bytes);
        logs.emplace_back(0xee4ea8d358473f0fcebf0329feed95d56e8c04d7_bytes, h256s{0x635b5d234fe7abddfb29b6c8498780a3175c9002c537f20a3d1bf9d0e625b5fe_hash, 0x0000000000000000000000000000000000000000000000000000000000000007_hash, 0x60b4aeb9978a00ffb8526a913b78a20968a28c62172c9a3f03c46e0434ba585a_hash}, 0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001850d94b25c6c30000000000000000000000000000000000000000000000000000000000000004c08786b4dff62417644fc90bc47df20dec9cdc93b53fbcbc0afb8ed01d20237a790000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000003e000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000002600000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000174876e80000000000000000000000000000000000000000000000000000000000000000143644aef7c3fb5b379cfae11fa270b02b4be145bd000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a62626e316a37786478717a6b6c636d68706b3063356c76736133376e30787638686e77616c3977713937000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0000000000000000000000000000000000000000000000000000000000000000000000000000000000000003455448000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054574686572000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003e62626e313837656178666171656d67336e7466656e356a6b73656c77706b367636357a353438393266327070746c78356733703971736d736339676834630000_bytes);
        logs.emplace_back(0x4f5b54d4af2568cefafa73bb062e5d734b55aa05_bytes, h256s{0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef_hash, 0x000000000000000000000000d525f1816bd6d6ceb73d1517bf33fa204335d0c0_hash, 0x00000000000000000000000023b2615d783e16f14b62efa125306c7c69b4941a_hash}, 0x00000000000000000000000000000000000000000000000000000000000f4240_bytes);
        logs.emplace_back(0xdcb5c62eac28d1efc7132ad99f2bd81973041d14_bytes, h256s{0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef_hash, 0x0000000000000000000000000000000000000000000000000000000000000000_hash, 0x000000000000000000000000d525f1816bd6d6ceb73d1517bf33fa204335d0c0_hash}, 0x00000000000000000000000000000000000000000000000000000000000f4240_bytes);
        logs.emplace_back(0x9e8ff356d35a2da385c546d6bf1d77ff85133365_bytes, h256s{0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef_hash, 0x0000000000000000000000002b0949d235a4ce60f201a1c3aef1d6a6faef7ce0_hash, 0x000000000000000000000000006cbf409ca275ba022111db32bdae054a97d488_hash}, 0x0000000000000000000000000000000000000000000000000000000011e1a300_bytes);
        logs.emplace_back(0x006cbf409ca275ba022111db32bdae054a97d488_bytes, h256s{0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef_hash, 0x0000000000000000000000000000000000000000000000000000000000000000_hash, 0x0000000000000000000000002b0949d235a4ce60f201a1c3aef1d6a6faef7ce0_hash}, 0x0000000000000000000000000000000000000000000000000000000011e1a300_bytes);
        logs.emplace_back(0x006cbf409ca275ba022111db32bdae054a97d488_bytes, h256s{0x9e71bc8eea02a63969f509818f2dafb9254532904319f9dbda79b67bd34a5f3d_hash, 0x0000000000000000000000002b0949d235a4ce60f201a1c3aef1d6a6faef7ce0_hash, 0x0000000000000000000000000000000000000000000000000000000011e1a300_hash}, bytes{});
        logs.emplace_back(0xb2de0d8313a5fd107af5bd1bd8fe4ab1bf412141_bytes, h256s{0xbf50768ccf13bd0110ca6d53a9c4f1f3271abdd4c24a56878863ed25b20598ff_hash, 0xb4a118917f064b092995aeb6460f485fc9694dfb6ca79c875961cc83c41bea6f_hash, 0x000000000000000000000000511a0e4a29c6c529e0e8d1407d9fd6daf8c8a0de_hash}, 0x0000000000000000000000003c965024f7abe34d1139469a516220c382b70b0600000000000000000000000000000000000000000000000000000000000014aa0000000000000000000000003c965024f7abe34d1139469a516220c382b70b0600000000000000000000000000000000000000000000000000000000000002400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000493e0b4a118917f064b092995aeb6460f485fc9694dfb6ca79c875961cc83c41bea6f000000000000000000000000b2de0d8313a5fd107af5bd1bd8fe4ab1bf41214100000000000000000000000000000000000000000000000028f05cace3fb160d000000000000000000000000511a0e4a29c6c529e0e8d1407d9fd6daf8c8a0de00000000000000000000000000000000000000000000000000000000000014aa00000000000000000000000000000000000000000000000000000000000493e000000000000000000000000000000000000000000000000003226fd1c229bc8400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020788000000000000000000000000000000000000000000000000000000000000dea800000000000000000000000000000000000000000000000000000000686e355400000000000000000000000000000000000000000000000000000000000006a86c636f64654c6f636174696f6ec258200000000000000000000000000000000000000000000000000000000000000000686c616e6775616765c25820000000000000000000000000000000000000000000000000000000000000000066736f757263657906382f2f204e6f2061757468656e7469636174696f6e2e2064656d6f6e73747261746520504f53542077697468206461746120696e20626f64790a2f2f2063616c6c6772617068716c206170693a2068747470733a2f2f6769746875622e636f6d2f747265766f72626c616465732f636f756e74726965730a2f2f20646f63733a2068747470733a2f2f747265766f72626c616465732e6769746875622e696f2f636f756e74726965732f717565726965732f636f6e74696e656e740a0a2f2f206d616b65204854545020726571756573740a636f6e737420636f756e747279436f6465203d20617267735b305d3b0a636f6e73742075726c203d202268747470733a2f2f636f756e74726965732e747265766f72626c616465732e636f6d2f223b0a636f6e736f6c652e6c6f672860476574206e616d652c206361706974616c20616e642063757272656e637920666f7220636f756e74727920636f64653a20247b636f756e747279436f64657d60293b0a636f6e736f6c652e6c6f6728604854545020504f5354205265717565737420746f20247b75726c7d60293b0a636f6e737420636f756e74727952657175657374203d2046756e6374696f6e732e6d616b654874747052657175657374287b0a202075726c3a2075726c2c0a20206d6574686f643a2022504f5354222c0a2020686561646572733a207b0a2020202022436f6e74656e742d54797065223a20226170706c69636174696f6e2f6a736f6e222c0a20207d2c0a2020646174613a207b0a2020202071756572793a20607b5c0a2020202020202020636f756e74727928636f64653a2022247b636f756e747279436f64657d2229207b205c0a202020202020202020206e616d65205c0a202020202020202020206361706974616c205c0a2020202020202020202063757272656e6379205c0a20202020202020207d205c0a2020202020207d602c0a20207d2c0a7d293b0a0a2f2f204578656375746520746865204150492072657175657374202850726f6d697365290a636f6e737420636f756e747279526573706f6e7365203d20617761697420636f756e747279526571756573743b0a69662028636f756e747279526573706f6e73652e6572726f7229207b0a2020636f6e736f6c652e6572726f72280a20202020636f756e747279526573706f6e73652e726573706f6e73650a2020202020203f2060247b636f756e747279526573706f6e73652e726573706f6e73652e7374617475737d2c247b636f756e747279526573706f6e73652e726573706f6e73652e737461747573546578747d600a2020202020203a2022220a2020293b0a20207468726f77204572726f72282252657175657374206661696c656422293b0a7d0a0a636f6e737420636f756e74727944617461203d20636f756e747279526573706f6e73655b2264617461225d5b2264617461225d3b0a0a6966202821636f756e74727944617461207c7c2021636f756e747279446174612e636f756e74727929207b0a20207468726f77204572726f7228604d616b6520737572652074686520636f756e74727920636f64652022247b636f756e747279436f64657d222065786973747360293b0a7d0a0a636f6e736f6c652e6c6f672822636f756e74727920726573706f6e7365222c20636f756e74727944617461293b0a0a2f2f20726573756c7420697320696e204a534f4e206f626a6563740a636f6e737420726573756c74203d207b0a20206e616d653a20636f756e747279446174612e636f756e7472792e6e616d652c0a20206361706974616c3a20636f756e747279446174612e636f756e7472792e6361706974616c2c0a202063757272656e63793a20636f756e747279446174612e636f756e7472792e63757272656e63792c0a7d3b0a0a2f2f20557365204a534f4e2e737472696e67696679282920746f20636f6e766572742066726f6d204a534f4e206f626a65637420746f204a534f4e20737472696e670a2f2f2046696e616c6c792c20757365207468652068656c7065722046756e6374696f6e732e656e636f6465537472696e67282920746f20656e636f64652066726f6d20737472696e6720746f2062797465730a72657475726e2046756e6374696f6e732e656e636f6465537472696e67284a534f4e2e737472696e6769667928726573756c7429293b0a64617267739f624a50ff000000000000000000000000000000000000000000000000_bytes);
        logs.emplace_back(0xb83e47c2bc239b3bf370bc41e1459a34b41238d0_bytes, h256s{0xf67aec45c9a7ede407974a3e0c3a743dffeab99ee3f2d4c9a8144c2ebf2c7ec9_hash, 0xb4a118917f064b092995aeb6460f485fc9694dfb6ca79c875961cc83c41bea6f_hash, 0x66756e2d657468657265756d2d7365706f6c69612d3100000000000000000000_hash, 0x00000000000000000000000000000000000000000000000000000000000014aa}, 0x0000000000000000000000003c965024f7abe34d1139469a516220c382b70b06000000000000000000000000511a0e4a29c6c529e0e8d1407d9fd6daf8c8a0de0000000000000000000000003c965024f7abe34d1139469a516220c382b70b0600000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000493e000000000000000000000000000000000000000000000000028f05cace3fb160d00000000000000000000000000000000000000000000000000000000000006a86c636f64654c6f636174696f6ec258200000000000000000000000000000000000000000000000000000000000000000686c616e6775616765c25820000000000000000000000000000000000000000000000000000000000000000066736f757263657906382f2f204e6f2061757468656e7469636174696f6e2e2064656d6f6e73747261746520504f53542077697468206461746120696e20626f64790a2f2f2063616c6c6772617068716c206170693a2068747470733a2f2f6769746875622e636f6d2f747265766f72626c616465732f636f756e74726965730a2f2f20646f63733a2068747470733a2f2f747265766f72626c616465732e6769746875622e696f2f636f756e74726965732f717565726965732f636f6e74696e656e740a0a2f2f206d616b65204854545020726571756573740a636f6e737420636f756e747279436f6465203d20617267735b305d3b0a636f6e73742075726c203d202268747470733a2f2f636f756e74726965732e747265766f72626c616465732e636f6d2f223b0a636f6e736f6c652e6c6f672860476574206e616d652c206361706974616c20616e642063757272656e637920666f7220636f756e74727920636f64653a20247b636f756e747279436f64657d60293b0a636f6e736f6c652e6c6f6728604854545020504f5354205265717565737420746f20247b75726c7d60293b0a636f6e737420636f756e74727952657175657374203d2046756e6374696f6e732e6d616b654874747052657175657374287b0a202075726c3a2075726c2c0a20206d6574686f643a2022504f5354222c0a2020686561646572733a207b0a2020202022436f6e74656e742d54797065223a20226170706c69636174696f6e2f6a736f6e222c0a20207d2c0a2020646174613a207b0a2020202071756572793a20607b5c0a2020202020202020636f756e74727928636f64653a2022247b636f756e747279436f64657d2229207b205c0a202020202020202020206e616d65205c0a202020202020202020206361706974616c205c0a2020202020202020202063757272656e6379205c0a20202020202020207d205c0a2020202020207d602c0a20207d2c0a7d293b0a0a2f2f204578656375746520746865204150492072657175657374202850726f6d697365290a636f6e737420636f756e747279526573706f6e7365203d20617761697420636f756e747279526571756573743b0a69662028636f756e747279526573706f6e73652e6572726f7229207b0a2020636f6e736f6c652e6572726f72280a20202020636f756e747279526573706f6e73652e726573706f6e73650a2020202020203f2060247b636f756e747279526573706f6e73652e726573706f6e73652e7374617475737d2c247b636f756e747279526573706f6e73652e726573706f6e73652e737461747573546578747d600a2020202020203a2022220a2020293b0a20207468726f77204572726f72282252657175657374206661696c656422293b0a7d0a0a636f6e737420636f756e74727944617461203d20636f756e747279526573706f6e73655b2264617461225d5b2264617461225d3b0a0a6966202821636f756e74727944617461207c7c2021636f756e747279446174612e636f756e74727929207b0a20207468726f77204572726f7228604d616b6520737572652074686520636f756e74727920636f64652022247b636f756e747279436f64657d222065786973747360293b0a7d0a0a636f6e736f6c652e6c6f672822636f756e74727920726573706f6e7365222c20636f756e74727944617461293b0a0a2f2f20726573756c7420697320696e204a534f4e206f626a6563740a636f6e737420726573756c74203d207b0a20206e616d653a20636f756e747279446174612e636f756e7472792e6e616d652c0a20206361706974616c3a20636f756e747279446174612e636f756e7472792e6361706974616c2c0a202063757272656e63793a20636f756e747279446174612e636f756e7472792e63757272656e63792c0a7d3b0a0a2f2f20557365204a534f4e2e737472696e67696679282920746f20636f6e766572742066726f6d204a534f4e206f626a65637420746f204a534f4e20737472696e670a2f2f2046696e616c6c792c20757365207468652068656c7065722046756e6374696f6e732e656e636f6465537472696e67282920746f20656e636f64652066726f6d20737472696e6720746f2062797465730a72657475726e2046756e6374696f6e732e656e636f6465537472696e67284a534f4e2e737472696e6769667928726573756c7429293b0a64617267739f624a50ff000000000000000000000000000000000000000000000000_bytes);
        logs.emplace_back(0x511a0e4a29c6c529e0e8d1407d9fd6daf8c8a0de_bytes, h256s{0x1131472297a800fee664d1d89cfa8f7676ff07189ecc53f80bbb5f4969099db8_hash, 0xb4a118917f064b092995aeb6460f485fc9694dfb6ca79c875961cc83c41bea6f_hash}, bytes{});
        logs.emplace_back(0x006cbf409ca275ba022111db32bdae054a97d488_bytes, h256s{0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef_hash, 0x0000000000000000000000004ce2c4ad41e63496d7d7af8f4d97d11b311e7a43_hash, 0x000000000000000000000000e85a06c238439f981c90b2c91393b2f3c46e27fc_hash}, 0x0000000000000000000000000000000000000000000000000000000083c6ca67_bytes);
        logs.emplace_back(0x9e8ff356d35a2da385c546d6bf1d77ff85133365_bytes, h256s{0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef_hash, 0x0000000000000000000000004ce2c4ad41e63496d7d7af8f4d97d11b311e7a43_hash, 0x000000000000000000000000e85a06c238439f981c90b2c91393b2f3c46e27fc_hash}, 0x0000000000000000000000000000000000000000000000000000000084710780_bytes);
        logs.emplace_back(0xe85a06c238439f981c90b2c91393b2f3c46e27fc_bytes, h256s{0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef_hash, 0x0000000000000000000000000000000000000000000000000000000000000000_hash, 0x0000000000000000000000004ce2c4ad41e63496d7d7af8f4d97d11b311e7a43_hash}, 0x0000000000000000000000000000000000000000000000f04e0b5109995caf66_bytes);
        logs.emplace_back(0xe85a06c238439f981c90b2c91393b2f3c46e27fc_bytes, h256s{0x189c623b666b1b45b83d7178f39b8c087cb09774317ca2f53c2d3c3726f222a2_hash, 0x0000000000000000000000004ce2c4ad41e63496d7d7af8f4d97d11b311e7a43_hash}, 0x000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000032b091aa7e68337549fea8d0000000000000000000000000000000000000000032b090fb2ef6de74b9935e900000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000083c6ca670000000000000000000000000000000000000000000000000000000084710780000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000_bytes);
        logs.emplace_back(0x7b79995e5f793a07bc00c21412e50ecae098e7f9_bytes, h256s{0xe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c_hash, 0x0000000000000000000000005fbe74a283f7954f10aa04c2edf55578811aeb03_hash}, 0x000000000000000000000000000000000000000000000000000000003b9aca00_bytes);
        logs.emplace_back(0xee4ea8d358473f0fcebf0329feed95d56e8c04d7_bytes, h256s{0x635b5d234fe7abddfb29b6c8498780a3175c9002c537f20a3d1bf9d0e625b5fe_hash, 0x0000000000000000000000000000000000000000000000000000000000000007_hash, 0x3cb83d3fb0f1eaf66a933c880db3a67e209c5261bf607f0863779eb8cd818406_hash}, 0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001850d94bd914dd0000000000000000000000000000000000000000000000000000000000000004c0060e80867bd5e05e1f48d63be15ba5abb7abad8f8fc57ea8e59146f96d5c1e250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000003e000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000003b9aca00000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000002600000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000003b9aca000000000000000000000000000000000000000000000000000000000000000014657a46897cabf0effb57ad1172b159bb8d15006c000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a62626e31366a66746e3064377271357779357a3435333336686e6b3774686e6530736534647779656c6a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0000000000000000000000000000000000000000000000000000000000000000000000000000000000000003455448000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054574686572000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003e62626e313837656178666171656d67336e7466656e356a6b73656c77706b367636357a353438393266327070746c78356733703971736d736339676834630000_bytes);
        logs.emplace_back(0x7b79995e5f793a07bc00c21412e50ecae098e7f9_bytes, h256s{0xe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c_hash, 0x0000000000000000000000005fbe74a283f7954f10aa04c2edf55578811aeb03_hash}, 0x00000000000000000000000000000000000000000000000000001b48eb57e000_bytes);
        logs.emplace_back(0xee4ea8d358473f0fcebf0329feed95d56e8c04d7_bytes, h256s{0x635b5d234fe7abddfb29b6c8498780a3175c9002c537f20a3d1bf9d0e625b5fe_hash, 0x0000000000000000000000000000000000000000000000000000000000000007_hash, 0x45eab74df12ac4880f19f7d2b54f7be668303db797ef60fdd39ceeb79081e08b_hash}, 0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001850d94bce840b0000000000000000000000000000000000000000000000000000000000000004c0507032022d04fdf908cd706f5b63c45facbbbb3846ff7a766f4b755f967e8a020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000003e000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001e000000000000000000000000000000000000000000000000000001b48eb57e000000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000002600000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000001b48eb57e000000000000000000000000000000000000000000000000000000000000000001447a6d7ea738a092baaeb82dd19a07a6ba614b5fc000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a62626e316d6b6b32796e3074646a6c737574766e727830786372633033653437637474706b7571706330000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0000000000000000000000000000000000000000000000000000000000000000000000000000000000000003455448000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054574686572000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003e62626e313837656178666171656d67336e7466656e356a6b73656c77706b367636357a353438393266327070746c78356733703971736d736339676834630000_bytes);
        logs.emplace_back(0x7b79995e5f793a07bc00c21412e50ecae098e7f9_bytes, h256s{0xe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c_hash, 0x0000000000000000000000005fbe74a283f7954f10aa04c2edf55578811aeb03_hash}, 0x00000000000000000000000000000000000000000000000000000000000f4240_bytes);
        logs.emplace_back(0xee4ea8d358473f0fcebf0329feed95d56e8c04d7_bytes, h256s{0x635b5d234fe7abddfb29b6c8498780a3175c9002c537f20a3d1bf9d0e625b5fe_hash, 0x0000000000000000000000000000000000000000000000000000000000000008_hash, 0x995fd852bc2e36da6aba85fe0f309f77445ed15fafa2828e821ceda25f5110a0_hash}, 0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001850d94c04162f00000000000000000000000000000000000000000000000000000000000000048058dd2105568dcdbe8a6f5b9ee7ecd31d3b12e73bf9b816515266bdeb7f09b4740000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000003a000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000002c00000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001c000000000000000000000000000000000000000000000000000000000000f42400000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000024000000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000028000000000000000000000000000000000000000000000000000000000000f424000000000000000000000000000000000000000000000000000000000000000147b85171582f159bfa11b9358ee35bcab6279ec7700000000000000000000000000000000000000000000000000000000000000000000000000000000000000147b85171582f159bfa11b9358ee35bcab6279ec770000000000000000000000000000000000000000000000000000000000000000000000000000000000000014eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0000000000000000000000000000000000000000000000000000000000000000000000000000000000000003455448000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054574686572000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001492b3bc0bc3ac0ee60b04a0bbc4a09deb3914c886000000000000000000000000_bytes);
        logs.emplace_back(0x1c7d4b196cb0c7b01d743fbc6116a902379c7238_bytes, h256s{0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef_hash, 0x000000000000000000000000666305a0f7f69606f75e653a1028b9d273804a18_hash, 0x0000000000000000000000005fbe74a283f7954f10aa04c2edf55578811aeb03_hash}, 0x0000000000000000000000000000000000000000000000000000000000000064_bytes);
        logs.emplace_back(0x7b79995e5f793a07bc00c21412e50ecae098e7f9_bytes, h256s{0xe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c_hash, 0x0000000000000000000000005fbe74a283f7954f10aa04c2edf55578811aeb03_hash}, 0x000000000000000000000000000000000000000000000000000000d4dbd0f218_bytes);
        logs.emplace_back(0xee4ea8d358473f0fcebf0329feed95d56e8c04d7_bytes, h256s{0x635b5d234fe7abddfb29b6c8498780a3175c9002c537f20a3d1bf9d0e625b5fe_hash, 0x0000000000000000000000000000000000000000000000000000000000000008_hash, 0x15508c3a8fa969669db01fa80c47563b143c87aee4660bee1adba39b4c84630d_hash}, 0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001851766a5e07960000000000000000000000000000000000000000000000000000000000000007e061002da01a68ce4d768b601a83076f1507c0d61f310c099a504954248609274e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000700000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000038000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000002c00000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001c000000000000000000000000000000000000000000000000000000000000000640000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000024000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000028000000000000000000000000000000000000000000000000000000000000000640000000000000000000000000000000000000000000000000000000000000014666305a0f7f69606f75e653a1028b9d273804a180000000000000000000000000000000000000000000000000000000000000000000000000000000000000014666305a0f7f69606f75e653a1028b9d273804a1800000000000000000000000000000000000000000000000000000000000000000000000000000000000000141c7d4b196cb0c7b01d743fbc6116a902379c72380000000000000000000000000000000000000000000000000000000000000000000000000000000000000004555344430000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000045553444300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001457978bfe465ad9b1c0bf80f6c1539d300705ea5000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000002c00000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001c0000000000000000000000000000000000000000000000000000000d4dbd0f2180000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000024000000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000028000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014666305a0f7f69606f75e653a1028b9d273804a180000000000000000000000000000000000000000000000000000000000000000000000000000000000000014666305a0f7f69606f75e653a1028b9d273804a180000000000000000000000000000000000000000000000000000000000000000000000000000000000000014eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0000000000000000000000000000000000000000000000000000000000000000000000000000000000000003455448000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054574686572000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001492b3bc0bc3ac0ee60b04a0bbc4a09deb3914c886000000000000000000000000_bytes);
        logs.emplace_back(0xc34fdea3c8a72a14e6f5f6a433b0af49a16c8823_bytes, h256s{0xa7aaf2512769da4e444e3de247be2564225c2e7a8f74cfe528e46e17d24868e2_hash, 0x844fa961e23ffd9674af9350033c0885dd148746e21a22db15efeeb36138d675_hash, 0x00000000000000000000000000000000000000000000000000000000000066cb_hash, 0x0000000000000000000000000000000000000000000000000000000000302fa0}, 0x00000000000000000000000000000000000000000000000000000000686e3428_bytes);
        logs.emplace_back(0x9961d7cdd83d01e582cdf97afaeaa2d84770fb05_bytes, h256s{0xa7aaf2512769da4e444e3de247be2564225c2e7a8f74cfe528e46e17d24868e2_hash, 0xb50aee50e7b6855765b8c57d7c80bfa670189ee1db46ec3deb279faf7c4b48b9_hash, 0x0000000000000000000000000000000000000000000000000000000000001188_hash, 0x0000000000000000000000000000000000000000000000000000000000eb1478}, 0x00000000000000000000000000000000000000000000000000000000686e3428_bytes);
        logs.emplace_back(0xc2bd5f4e2a82bf8fc8cb91cc772c4e79d9acb943_bytes, h256s{0xa7aaf2512769da4e444e3de247be2564225c2e7a8f74cfe528e46e17d24868e2_hash, 0xa6713866e18b654592c14f80289dc2bda7dd82a286a4e93fd09bd8b31a3eaf1b_hash, 0x00000000000000000000000000000000000000000000000000000000000093b4_hash, 0x0000000000000000000000000000000000000000000000000000000000453cd8}, 0x00000000000000000000000000000000000000000000000000000000686e3428_bytes);
        logs.emplace_back(0xa57938731f15c762fe4828f28256a291127ce1d8_bytes, h256s{0xa7aaf2512769da4e444e3de247be2564225c2e7a8f74cfe528e46e17d24868e2_hash, 0x12bce255e56c51fcf7c864bab75c01499a12553310d9924e2cc589676b29bf89_hash, 0x0000000000000000000000000000000000000000000000000000000000008e7c_hash, 0x000000000000000000000000000000000000000000000000000000000042ca98}, 0x00000000000000000000000000000000000000000000000000000000686e3428_bytes);
        logs.emplace_back(0xc5026a9a6f28ea414fcf92bcaefa6d4caa1b22ad_bytes, h256s{0xe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c_hash, 0x000000000000000000000000040188058ff250aa3689f1f4a3fa1f55f38c6553_hash}, 0x0000000000000000000000000000000000000000000000000000000000000000_bytes);
        logs.emplace_back(0x6dbad9882e2cb1b258ea40d76ce839d2ba8711cd_bytes, h256s{0x5b565efe82411da98814f356d0e7bcb8f0219b8d970307c5afb4a6903a8b2e35_hash, 0x000000000000000000000000040188058ff250aa3689f1f4a3fa1f55f38c6553_hash, 0x0000000000000000000000000000000000000000000000000000000000000001_hash, 0xb86a2a3e71d3df52be6e740a60de74ae9ae24ca39e54abd30e0ee00e054a4dc4_hash}, bytes{});
        logs.emplace_back(0x8bebfcbe5468f146533c182df3dfbf5ff9be00e2_bytes, h256s{0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925_hash, 0x000000000000000000000000346f9bc6e61b95e1a9cadd52a3b7e7cc0129b0cd_hash, 0x0000000000000000000000009e8ff356d35a2da385c546d6bf1d77ff85133365_hash}, 0x000000000000000000000000000000000000000000000000000000005e9a46cf_bytes);
        // clang-format on
        auto const bloom = bcos::getLogsBloom(logs);
        auto const bloomHex = toHex(bloom);
        // clang-format off
        auto constexpr expected = "102000200100060010100010800088e404000010091400004000500420a683400a0a11000044006022c8002400001006220218400000a09080040002083420104800201000a000804000008800110020090002000004100a01000001c80c000048900020861110084128000000182808021021008328000240100810100200e00080022000101050210000044003008082044801009000cb0142005105000280222900820001008008000040001004188000210200090001204c0080a0012002410088024400000000e6000801022000020400002100021220000710000060021c18018490040c00800010200100004238020000400120400080000001202001"sv;
        // clang-format on
        BOOST_CHECK_EQUAL(bloomHex, expected);
    }
}
BOOST_AUTO_TEST_SUITE_END()
};  // namespace bcos::test